package com.qingfeng.coupon.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qingfeng.coupon.entity.CouponTemplate;
import org.apache.ibatis.annotations.Param;
import sun.rmi.runtime.Log;

import java.util.List;

/**
 * @author zhangyuefei
 * @version 1.0
 * @date 2020/5/28 9:45 上午
 */
public interface CouponTemplateMapper extends BaseMapper<CouponTemplate> {

    /**
     * 获取所有可分发优惠券模版
     *
     * @param goodsCommonId
     * @return
     */
    List<CouponTemplate> getByDistributeGoodsId(@Param("goodsCommonId") Long goodsCommonId);


    /**
     * 查询一笔订单中 分发购买指定商品优惠券
     * @param tradeId
     * @return
     */
    List<CouponTemplate> selectGoodsTemplateByTradeId(@Param("tradeId")Long tradeId);

    /**
     * 查询购物满金额发放优惠券
     * @param amount
     * @return
     */
    List<CouponTemplate>  selectTemplateByDiscountBase(@Param("amount") Integer amount
            ,@Param("storeId")Integer storeId);

    /**
     * 根据id查询优惠券并且加更新锁
     * @param id
     * @return
     */
    CouponTemplate selectByIdWithLock(@Param("id")Long id);


    List<Long> getTemplateIdsByType(@Param("category") Integer category);

}
